//
// Created by Snow on 2023/4/25.
//
#include<cstdio>
#define MAXL 100//最大长度
typedef int KeyType;//定义关键字类型为int
typedef char InfoType;
typedef struct
{
    KeyType key;//关键字项
    InfoType data;//其他数据项，类型为InfoType
}RecType;//查找元素的类型
//顺序表基本运算算法
void CreateList(RecType R[],const KeyType keys[],int n)//创建顺序表
{
    for(int i=0;i<n;i++)
        R[i].key=keys[i];
}
void DispList(RecType R[],int n)//输出顺序表
{
    for(int i=0;i<n;i++)
        printf("%d ",R[i].key);
    printf("\n");
}
//顺序查找算法
int SeqSearch(RecType R[],int n,KeyType k)
{
    int i=0;
    while(i<n&&R[i].key!=k)//从表头往后找
        i++;
    if(i>=n)
        return 0;
    else
        return i+1;
}
int SeqSearch1(RecType R[],int n,KeyType k)
{
    int i=0;
    R[n].key=k;
    while(R[i].key!=k)//从表头往后找
        i++;
    if(i==n)//未找到返回0
        return 0;
    else//找到返回逻辑序号i+1
        return i+1;
}
int main()
{
    int n=10;
    RecType R[MAXL];
    KeyType a[]={2,3,1,8,5,4,9,0,7,6},k=9;
    CreateList(R,a,n);
    DispList(R,n);
    printf("R[%d]=%d\n", SeqSearch(R,n,k),k);
    return 0;
}